package com.turing.user.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.turing.common.util.Tools;
import com.turing.user.dao.RoleTemplatePrivilegeMapper;
import com.turing.user.entity.RoleTemplatePrivilege;
import com.turing.user.service.RoleTemplatePrivilegeService;
import com.turing.user.vo.RoleTemplatePrivilegeVo;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
* @Description 服务类实现
* @Author livin
* @Date 2022-02-22
*/
@Service
public class RoleTemplatePrivilegeServiceImpl extends ServiceImpl<RoleTemplatePrivilegeMapper, RoleTemplatePrivilege> implements RoleTemplatePrivilegeService {

    @Override
    public List<RoleTemplatePrivilegeVo> getPrivilegeByRole(Integer roleId) {
        List<RoleTemplatePrivilege> rps = lambdaQuery().orderByDesc(RoleTemplatePrivilege::getCreatedTime).eq(RoleTemplatePrivilege::getRoleId, roleId).list();
        if(Tools.isNotEmpty(rps)){
            return rps.stream().map(rtp -> RoleTemplatePrivilegeVo.builder().templateId(rtp.getPrivilegeId())
                    .privilegeType(rtp.getPrivilegeType()).roleId(rtp.getRoleId()).elementId(rtp.getElementId()).build()).collect(Collectors.toList());
        }
        return new ArrayList<>();
    }
}
